package net.esj.basic.core.engine.util.logging;

/**
 * 默认日志接口，log4j等日志要从这里出发
 * 
 * @author Administrator
 *
 */
public interface Logger {
	
	 	void trace(String msg, String... args);
	    void trace(String msg, Throwable ex, String... args);
	    boolean isTraceEnabled();
	    
	    void debug(String msg, String... args);
	    void debug(String msg, Throwable ex, String... args);
	    boolean isDebugEnabled();
	    
	    void info(String msg, String... args);
	    void info(String msg, Throwable ex, String... args);
	    boolean isInfoEnabled();
	    
	    void warn(String msg, String... args);
	    void warn(String msg, Throwable ex, String... args);
	    boolean isWarnEnabled();
	    
	    void error(String msg, String... args);
	    void error(String msg, Throwable ex, String... args);
	    boolean isErrorEnabled();
	    
	    void fatal(String msg, String... args);
	    void fatal(String msg, Throwable ex, String... args);
	    boolean isFatalEnabled();
	    
	    void logger(String log,String comments,LEVEL level);
	    
	    /**
	     * 默认INFO级别
	     * @param log
	     * @param comments
	     */
	    void logger(String log,String comments);
	    void logger(String log);
	    
	    public enum LEVEL{
	    	TRACE,DEBUG,INFO,WARN,ERROR,FATAL
	    }
}
